Skip to content

IViewFor interface

Defined in

Namespace: ReactiveUI Assembly: ReactiveUI.Core.dll Full name: ReactiveUI.IViewFor<T> Modifiers: public abstract

Summary

Implement this interface on views to participate in ReactiveUI routing, activation, and binding.

Applies to

net10.0, net10.0-maccatalyst26.0, net10.0-desktop1.0, net10.0-browserwasm1.0, net10.0-tvos26.0, net10.0-windows10.0.19041, net10.0-macos26.0, net10.0-ios26.0, net10.0-android36.0, net9.0, net9.0-tvos18.0, net9.0-macos15.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net9.0-ios18.0, net9.0-desktop1.0, net8.0, net8.0-windows10.0.19041, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-macos15.0, net8.0-tvos18.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.5, netstandard2.1, net481, net462, net471

Class hierarchy
classDiagram
class IViewFor~T~
class IViewFor {
    <>
}
IViewFor <|.. IViewFor~T~
class IActivatableView {
    <>
}
IActivatableView <|.. IViewFor~T~

Implements: IViewFor, IActivatableView

Remarks

Views typically expose ViewModel as a bindable property (dependency property in XAML, BindableProperty in .NET MAUI, etc.). Implementations should also handle activation by calling WhenActivated inside the view to manage subscriptions.

Examples

<![CDATA[
 public partial class LoginView : ReactiveUserControl<LoginViewModel>
 {
 public LoginView()
 {
 InitializeComponent();
 this.WhenActivated(disposables =>
 this.Bind(ViewModel, vm => vm.UserName, v => v.UserNameTextBox.Text)
 .DisposeWith(disposables));
 }
 }
 ]]>

Properties

NameSummary
ViewModelGets or sets the strongly typed view model. Override this property to integrate with the platform's binding system.